package org.jeecg.modules.demo.com.kunpeng.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.demo.com.kunpeng.entity.OaProject;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;
import java.util.List;

@Repository
public interface OaProjectMapper extends BaseMapper<OaProject> {

    /**
     * 根据项目名称查询项目详情
     */
    OaProject selectOaProjectByName(String name);


    /**
     * 获取项目名称列表
     */
    List<String> listProjectName();

    /**
     * 根据名称查询项目列表
     * @param name
     * @return
     */
    List<OaProject> projectList(Page<OaProject>page,String name);

    /**
     * 根据项目编号前缀获取项目列表
     */
    List<OaProject> listOaProjectIdByPrefix(String prefix);

    /**
     * 根据项目id获取项目详情
     */
    OaProject selectOaProjectById(Integer id);

    /**
     * 根据id修改项目已回款金额
     */
    int updateOaProjectAlreadyReturnMoney(Integer id, BigDecimal alreadyReturnMoney);

    /**
     * 根据id修改项目回款状态
     */
    void updateOaProjectReturnMoneyStatus(Integer id,String returnMoneyStatus);

    /**
     * 根据id修改项目的收款文件id
     */
    void updateOaProjectFileIdById(Integer id,String fileId);

    /**
     * 根据id修改项目的关联合同id
     */
    void updateOaProjectContractIdById(Integer id,Integer contractId);

    /**
     * 根据客户id获取关联项目列表
     * @return
     */
    List<OaProject> oaProjectListByCustomerId(Integer customerId);
}
